home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / dev / c / dice-3.16.lha / doc / errors.doc < prev    next >
Text File  |  1994-02-13  |  21KB  |  721 lines

  1.  
  2.  
  3.                 ERRORS.DOC
  4.  
  5.     ***********************************************************************
  6.     *                                      *
  7.     *                                      *
  8.     *                  DCPP ERROR MESSAGES              *
  9.     *                                      *
  10.     *                                      *
  11.     ***********************************************************************
  12.  
  13.     "#undef: no symbol specified"
  14.  
  15.     You have an #undef directive which specifies no symbol to undef
  16.  
  17.     "maximum number of macro arguments exceeded (256)"
  18.  
  19.     Macros cannot deal with more then 256 arguments (think that's
  20.     enough!)
  21.  
  22.     "Expected comma"
  23.     "Expected ')'"
  24.  
  25.     Generally occurs when parsing macros, a comma or closing paren
  26.     was expected.
  27.  
  28.     "Macro <name>, expected '('"
  29.  
  30.     A macro defined as taking arguments was used without specifying
  31.     those arguments.
  32.  
  33.     "Recursive use of macro <macroname>"
  34.  
  35.     You called a macro recursively, this would lead to an infinite loop
  36.  
  37.     "Macro crosses #include boundry"
  38.  
  39.     A wierd error you should never get
  40.  
  41.     "Replace Soft Error ..."
  42.     "Soft error ..."
  43.  
  44.     Please report immediately!  Software error within dcpp.
  45.  
  46.     "Not enough arguments to macro"
  47.  
  48.     You referenced a macro taking more arguments then you supplied!
  49.  
  50.     "Maximum # of include/macro levels exceeded (32)"
  51.  
  52.     DCPP can handle up to 32 levels of includes and macro nestings
  53.  
  54.     "Size Error <file> (<offset>)"
  55.     "Read Error <file>"
  56.  
  57.     These are errors associated with file access.  "Size Error" in
  58.     particular is more indicative of a possible bug in DCPP
  59.  
  60.     "stringtize '#' valid only before macro argument"
  61.  
  62.     You may only stringtize a macro argument as in:
  63.  
  64.         #define stringof(fubar) #fubar
  65.  
  66.     Attempting to stringtize other tokens is illegal
  67.  
  68.     "#if's left pending over from include after EOF: ..."
  69.  
  70.     One or more #if's was left unclosed (i.e. no matching #endif)
  71.     at the end of a file.  While you can nest #include's in #if's
  72.     you cannot start an #if in an #include and #endif it outside
  73.     that #include.
  74.  
  75.     "Unexpected EOF (unterminated comment)"
  76.  
  77.     A comment was left unterminated when the file EOF occured.
  78.  
  79.     "cpp: unterminated string"
  80.     "cpp: unterminated '"
  81.     "unterminated character constant"
  82.  
  83.     Unterminated string and/or character constants were detected
  84.  
  85.     "syntax error"
  86.     "too many ')'"
  87.     "expression too complex"
  88.  
  89.     These occur during DCPP expression parsing for #if's and are
  90.     indicative an problems in your expression
  91.  
  92.     "directive: unexpected EOF"
  93.  
  94.     An unexpected end-of-file occured while processing a # directive.
  95.  
  96.     "Maximum # of if levels (256)"
  97.  
  98.     You may only have up to 256 levels of #if nesting
  99.  
  100.     "double #else ?"
  101.  
  102.     Occurs when you have an #else without an #if, or something
  103.     like: #if fubar ... #else ... #else ... #endif, which is illegal.
  104.  
  105.     "#endif without associated #if"
  106.  
  107.     Occurs when you have an #endif without a matching #if.
  108.  
  109.     "Expected " or <"
  110.     "Expected " or >"
  111.  
  112.     #include's use "filename" or <filename> delimiting.  Note that
  113.     DCPP does not handle macro expansion in #include statements yet.
  114.  
  115.  
  116.     ***********************************************************************
  117.     *                                      *
  118.     *                                      *
  119.     *                  DC1 ERROR MESSAGES              *
  120.     *                                      *
  121.     *                                      *
  122.     ***********************************************************************
  123.  
  124.     9: "Unexpected EOF"
  125.  
  126.     The source or header file ended abruptly, for example ending in
  127.     the middle of a quoted string.    More stuff was expected.
  128.  
  129.     10: "Char Const Too Large!"
  130.  
  131.     Only 4 characters are allowed within a character constant, more
  132.     than four, such as 'abcde'  (the single quotes are part of the
  133.     example) will generate this error.
  134.  
  135.     11: "NewLine in string constant"
  136.  
  137.     A newline occurs within a string constant, such as the next
  138.     two lines:
  139.  
  140.         "abcd
  141.         efgh"
  142.  
  143.     This is not legal under ANSI C.  Instead, you can create a single
  144.     large string using "string1" "string2" ... two sets of quotes
  145.     strings with no delimiter
  146.  
  147.     12: "Illegal character '%c' $%02x"
  148.  
  149.     Certain characters, such as '#' not part of a preprocessor
  150.     directive, are illegal.  Example:   int x = 43#;
  151.  
  152.     13: "Unexpected Token '%s' expected '%s'"
  153.  
  154.     The expected token wasn't the one we got!  The error message
  155.     tells you what the character was and what was expected.
  156.  
  157.     14: "__geta4 keyword does NOT work with residentable executables!"
  158.  
  159.     __geta4 requires the data base to be at a known absolute
  160.     relocatable location.  You cannot use __geta4 in conjuction
  161.     with -r because residentable code allocates its data segment
  162.     at run time.
  163.  
  164.     15: "More than 32K of auto variables!"
  165.  
  166.     DICE accesses all stack variables using word-register-relative,
  167.     thus no more than 32KBytes worth of stack variables may be
  168.     declared.
  169.  
  170.     16: "struct/union return not supported yet"
  171.  
  172.     This version of DICE does not yet support structural return
  173.     values from procedures.
  174.  
  175.     17: "constant does not fit storage: %d"
  176.  
  177.     DICE will, in some cases, catch the use of constants that are
  178.     out of range in a particular situation... for example, specifying
  179.     the constant '128' in relation to a signed character (-128 to 127).
  180.  
  181.     DICE checks constant-fit only in hazzardous situations.
  182.  
  183.     18: "size mismatch: %d, %d"
  184.  
  185.     This is a code generation error which can occur when you
  186.     compare or run operations on incompatible types.
  187.  
  188.     19: "repeated case: %d (0x%08lx)"
  189.  
  190.     The specified case, given in both decimal and hex, occurs more
  191.     than once within a switch statement.
  192.  
  193.     20: "block operation error in source"
  194.     21: "block operation error in dest"
  195.  
  196.     Generally means that either the source or the destination of
  197.     a block-op, such as a structure assignment, are incompatible.
  198.     For example:
  199.  
  200.         foo = bar;
  201.  
  202.     where foo has a different structure type than bar.  Generally
  203.     this error is preceeded by an "illegal assignment" error.
  204.  
  205.     22: "dest not lvalue"
  206.  
  207.     Generally occurs if the object of an assignment is not assignable.
  208.     However, note that DICE is notably weak in this area... it will
  209.     cheerfully allow you to do things like (a + b) = c + d;, obviously
  210.     illegal.
  211.  
  212.     23: "syntax error in expression"
  213.  
  214.     A General syntax error in an expression occured.  Usually occurs
  215.     due to an illegally constructed expression, such as:  a ] b;
  216.     can also occur due to too few parenthesis.
  217.  
  218.     24: "expected expression"
  219.  
  220.     An expression was expected when, instead, either nothing or a
  221.     statement was found.  This can also occur due to a syntax error
  222.     in the expression.
  223.  
  224.     "expected '}'"
  225.  
  226.     A close brace was expected, for example, a global declaration
  227.     such as:    int a[] = { 1, 2, 3;
  228.  
  229.     "expected %d close parens"
  230.  
  231.     Expected one or more close parenthesis in an expression.
  232.  
  233.     "expected close bracket"
  234.  
  235.     Expected a close bracket ']', generally caused by an incomplete
  236.     array index such as a[i = 4;
  237.  
  238.     "expected identifer after . or ->"
  239.  
  240.     A structure indirection via '.' or '->' requires a structure
  241.     member to be specified.  i.e. a field name.
  242.  
  243.     "expected ',' or ')' in function call"
  244.  
  245.     Expected a delimiter in a function call... either comma if another
  246.     argument is to be given, or a close parenthesis to end the function
  247.     call.
  248.  
  249.     "undefined symbol: %s"
  250.  
  251.     The given symbol is not defined.  For example, referencing a
  252.     variable that was not defined or extern'd.
  253.  
  254.     "expected integer constant"
  255.  
  256.     An integer constant was expected, generally occurs when you
  257.     declare an array.  For example, the following is illegal:
  258.     int i[j];
  259.  
  260.     "not an lvalue"
  261.  
  262.     Occurs when an lvalue was expected, usually in an assignment. An
  263.     lvalue is an expression which exists in real storage, for example:
  264.     *ptr = 4;   ... the expression '*ptr' points to real storage where
  265.     as the expression (a + b) in (a + b) = 4; does NOT.  Note that DICE
  266.     is not very good at catching lvalues errors yet.
  267.  
  268.     "goto label not found"
  269.  
  270.     One or more 'goto label;' statements in a procedure specifies
  271.     a non-existant label.
  272.  
  273.     "constant div/mod by 0"
  274.  
  275.     You attempted to use the '/' or '%' operator with the constant
  276.     value 0 on the right hand side.  Division/Modulus by 0 is illegal.
  277.  
  278.     "ptr-ptr mismatch"
  279.  
  280.     Generally occurs in a pointer comparison or assignment.  The
  281.     two pointers do not point to the same type.  Example,
  282.  
  283.     char *a; long *b; if (a < b);
  284.  
  285.     "unexpected void type"
  286.  
  287.     Occurs due to an illegally constructed expressi